﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using WW.Cad.Model;

namespace StuertzDatenbank
{
    public partial class Teilgui : Form
    {
        private StuertzDatenbank.Benutzer benutzer;
        private Sprachfile sprachfile;
        private DBF dbf;
        private List<Hersteller> herstellerliste;
        private List<Serie> serieliste;
        private List<Profil> Profilsuchliste;
        private Teil aktuellesTeil;
        private Profil aktuellesProfil;
        private List<Status> Statusliste;
        private Auftrag auftrag;
        private List<Serie> Kundenserienliste;
        

        

        public Teilgui(StuertzDatenbank.Benutzer benutzer, Auftrag Auftrag)
        {
           
            auftrag = Auftrag;
            this.benutzer = benutzer;
            aktuellesTeil = new Teil(-1);
            dbf = new DBF();
            sprachfile = new Sprachfile();
            Statusliste = new List<Status>(dbf.getAllStatus());
            Kundenserienliste = new List<Serie>(dbf.getKundenserien(auftrag.getKunde()));


            InitializeComponent();
            InitializeComponentChange();
            Refresh();

        }


        public Teilgui(StuertzDatenbank.Benutzer benutzer, Auftrag Auftrag, Teil teil)
        {
            
            auftrag = Auftrag;
            aktuellesTeil = new Teil(-1);
            dbf = new DBF();
            aktuellesTeil = dbf.TeilAusgeben(teil.getID());
            
            this.benutzer = benutzer;
           
          
            sprachfile = new Sprachfile();
            Statusliste = new List<Status>(dbf.getAllStatus());
            

            aktuellesProfil = dbf.ProfilAusgeben(aktuellesTeil.ProfilID);
            Kundenserienliste = new List<Serie>(dbf.getKundenserien(auftrag.getKunde()));

            InitializeComponent();
            InitializeComponentChange();
            this.fill();
            TeilHinzufuegenbuttonbutton.Visible = true;
            Refresh();

            //Auftragausgecheckt
            //Ausgechecktauftrag
            this.TeilHinzufuegenbuttonbutton.Visible = false;
            if (auftrag.getZustand().getID()==0 && auftrag.getLetzterBearbeiter().getMitarbeiternummer()==benutzer.getMitarbeiternummer())
            {
                this.TeilHinzufuegenbuttonbutton.Visible = true;
            }

        }
        public Teilgui(StuertzDatenbank.Benutzer benutzer,  Teil teil)
        {

            auftrag = new Auftrag(-1);
            aktuellesTeil = new Teil(-1);
            dbf = new DBF();
            aktuellesTeil = dbf.TeilAusgeben(teil.getID());
            
            this.benutzer = benutzer;


            sprachfile = new Sprachfile();
            Statusliste = new List<Status>(dbf.getAllStatus());


            aktuellesProfil = dbf.ProfilAusgeben(aktuellesTeil.ProfilID);
            Kundenserienliste = new List<Serie>(dbf.getKundenserien(auftrag.getKunde()));

            InitializeComponent();
            InitializeComponentChange();
            this.fill();
            TeilHinzufuegenbuttonbutton.Visible = true;
            Refresh();

            //Auftragausgecheckt
            //Ausgechecktauftrag
            this.TeilHinzufuegenbuttonbutton.Visible = false;
            this.NeueSeriebutton.Visible = false;

        }

        private void InitializeComponentChange()
        {
            this.TeilBezeichnung.Text = sprachfile.Bezeichnung;
            this.TeilPage.Text = sprachfile.Teil;
            this.ProfilPage.Text = sprachfile.Profile;
            this.EinbaulageTab.Text = sprachfile.Einbaulagen;
            this.BearbeitungenPage.Text = sprachfile.Bearbeitungen;
            this.BeschichtungenPage.Text = sprachfile.Beschichtungen;
            this.Fuellmaterialpage.Text = sprachfile.Füllmaterial;
            this.DichtungenPage.Text = sprachfile.Dichtung;
            this.WerkstoffPage.Text = sprachfile.Werkstoff;
            this.Restriktion.Text = sprachfile.Restriktion;
            this.TeilIDLabel.Text = sprachfile.TeilID;
            this.label6.Text = sprachfile.Status;
            this.Serielabel.Text = sprachfile.Serie;
            this.NeuSerielabel.Text = sprachfile.NeueSerie;
            this.ErstelltLabel.Text = sprachfile.erstellt;
            this.label11.Text = sprachfile.Erstellungsdatum;
            this.ProfilNameLabel.Text = sprachfile.Profilbezeichnung;
            this.Freigabelabel.Text = sprachfile.Freigabe;
            this.FreigabeDatumlabel.Text = sprachfile.Freigabedatum;
            this.Freigebenbutton.Text = sprachfile.Freigeben;
            this.NeueSeriebutton.Text = sprachfile.Hinzufügen;
            this.Kommentarlabel.Text = sprachfile.Kommentar;
            this.ProfilSuchePage.Text = sprachfile.Suche;
            this.ProfilProfiltabPage.Text = sprachfile.Profile;
            this.ProfilEinbaulagetabPage.Text = sprachfile.Einbaulagen;
            this.ProfilBearbeitungentabPage.Text = sprachfile.Bearbeitungen;
            this.ProfilBeschichtungentabPage.Text = sprachfile.Beschichtungen;
            this.ProfilFuellmaterialtabPage.Text = sprachfile.Füllmaterial;
            this.ProfilDichtungentabPage.Text = sprachfile.Dichtung;
            this.ProfilWerkstofftabPage.Text = sprachfile.Werkstoff;
            this.ProfilRestriktiontabPage.Text = sprachfile.Restriktion;
            this.ProfilHerstellerSucheLabel.Text = sprachfile.Hersteller;
            this.ProfilSerieSucheLabel.Text = sprachfile.Serie;
            this.ProfilSucheBezeichnung.HeaderText = sprachfile.Bezeichnung;
            this.ProfilBezeichnungslabel.Text = sprachfile.Bezeichnung;
            this.ProfilHoeheLabel.Text = sprachfile.Höhe;
            this.ProfilStatusLabel.Text = sprachfile.Status;
            this.ProfilBreiteLabel.Text = sprachfile.Breite;
            this.ProfilKommentarLabel.Text = sprachfile.Kommentar;
            this.dataGridViewTextBoxColumn14.HeaderText = sprachfile.Einbaulagen;
           
            this.ProfilEinbaulageAuswaehlenbutton.Text = sprachfile.Auswaehlen;
           
            this.dataGridViewTextBoxColumn10.HeaderText = sprachfile.Nummer;
            this.dataGridViewTextBoxColumn11.HeaderText = sprachfile.Werkzeugbezeichnung;
            this.dataGridViewTextBoxColumn12.HeaderText = sprachfile.Bearbeitungswinkel;
            this.dataGridViewTextBoxColumn13.HeaderText = sprachfile.Name;
           
            this.ProfilBearbeitungenAuswaehlenbutton.Text = sprachfile.Auswaehlen;
            this.ProfilBearbeitungenAnzeigenbutton.Text = sprachfile.Anzeigen;
            this.dataGridViewTextBoxColumn9.HeaderText = sprachfile.Beschichtungen;
           
            this.ProfilBeschichtungenAuswahlenbutton.Text = sprachfile.Auswaehlen;
            this.dataGridViewTextBoxColumn8.HeaderText = sprachfile.Füllmaterial;
            this.ProfilFuellmaterialAnzeigenbutton.Text = sprachfile.Anzeigen;
            this.ProfilFuellmaterialAuswahlenbutton.Text = sprachfile.Auswaehlen;
            
            this.dataGridViewTextBoxColumn7.HeaderText = sprachfile.Dichtung;
            this.ProfilDichtungenAnzeigenbutton.Text = sprachfile.Anzeigen;
            this.ProfilDichtungenAuswaehlenbutton.Text = sprachfile.Auswaehlen;
            
            this.dataGridViewTextBoxColumn6.HeaderText = sprachfile.Werkstoff;
            
            this.ProfilWerkstoffAuswaehlenbutton.Text = sprachfile.Auswaehlen;
            this.ProfilWerkstoffAnzeigenbutton.Text = sprachfile.Anzeigen;
            this.dataGridViewTextBoxColumn1.HeaderText = sprachfile.Artikelnr;
            this.dataGridViewTextBoxColumn2.HeaderText = sprachfile.Bezeichnung;
            this.ProfilRestriktionAnzeigenbutton.Text = sprachfile.Anzeigen;
            this.ProfilRestriktionAuswaehlenbutton.Text = sprachfile.Auswaehlen;
            this.ProfilRestriktionHinzufuegenbutton.Text = sprachfile.Hinzufügen;
            this.EinbaulageEntfernen.Text = sprachfile.Entfernen;
            this.Einbaulage.HeaderText = sprachfile.Einbaulagen;
            this.Bearbeitungsnummer.HeaderText = sprachfile.Nummer;
            this.Werkezug.HeaderText = sprachfile.Werkzeugbezeichnung;
            this.Winkel.HeaderText = sprachfile.Bearbeitungswinkel;
            this.BearbeitungsName.HeaderText = sprachfile.Name;
            this.Bearbeitungenanzeigenbutton.Text = sprachfile.Anzeigen;
            this.BearbeitungenentfernenButton.Text = sprachfile.Entfernen;
            this.Beschichtungsname.HeaderText = sprachfile.Beschichtungen;
            this.BeschichtungenEntfernenbutton.Text = sprachfile.Entfernen;
            this.FüllmaterialAnzeigenbutton.Text = sprachfile.Anzeigen;
            this.Fuellmaterialialbezeichnung.HeaderText = sprachfile.Füllmaterial;
            this.FüllmaterialEntfernenbutton.Text = sprachfile.Entfernen;
            this.DichtungenAnzeigenbutton.Text = sprachfile.Anzeigen;
            this.Dichtungenbezeichnung.HeaderText = sprachfile.Dichtung;
            this.DichtungenEntfernenbutton.Text = sprachfile.Entfernen;
           
            this.Werkstoffbezeichnung.HeaderText = sprachfile.Werkstoff;
            this.Werkstoffentfernenbutton.Text = sprachfile.Entfernen;
            this.Restriktionnummer.HeaderText = sprachfile.Artikelnr;
            this.Restriktionbezeeichnung.HeaderText = sprachfile.Bezeichnung;
            this.RestriktionenEntfernenbutton.Text = sprachfile.Entfernen;
            this.Text = sprachfile.Teil;
            this.Hersteller.HeaderText = sprachfile.Hersteller;
            this.Serie.HeaderText = sprachfile.Serie;
            this.ProfilHerstellertabPage.Text = sprachfile.Hersteller;
            this.Zeichnungbutton.Text = sprachfile.ZeichnungGenerieren;

            

            //Profil.Hersteller 


            herstellerliste = new List<Hersteller>(dbf.listHersteller());
            for (int i = 0; i < herstellerliste.Count; i++)
			{
            this.ProfilHerstellerSuchecomboBox.Items.Add(herstellerliste[i].getName());
            }
            
        //TeilTab
            //Statusbox
           this.StatuscomboBox.Items.Clear();
            for (int i = 0; i < Statusliste.Count; i++)
			{
                StatuscomboBox.Items.Add(Statusliste[i].getStatus());
			}
            this.StatuscomboBox.SelectedIndex = 0;
            //Erstellt
            ErstelltBenutzer.Text = this.benutzer.getbenutzername();
            Erstelltdatum.Text = System.DateTime.Now.ToString();

            //Kundenserie
            for (int i = 0; i < Kundenserienliste.Count; i++)
            {
                KundenseriencomboBox.Items.Add(Kundenserienliste[i].getSerie());
            }

            

        }

        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {

        }

        private void button2_Click(object sender, EventArgs e)
        {

        }

        private void TeilEinbaulagenEntfernen(object sender, EventArgs e)
        {
            for (int i = 0; i < TeilEinbaulagedataGridView.Rows.Count; i++)
            {
                if (TeilEinbaulagedataGridView.Rows[i].Selected)
                { 
                  aktuellesTeil.getVerwendungsposition().RemoveAt(i);  
                }
                
            }
            TeilEinbaulagenNeuaufbau();

        }

        private void EinBaulagenAuswahlbutton_Click(object sender, EventArgs e)
        {
            if (ProfilEinbaulagenDatagridview.SelectedRows.Count > 0)
            {

                aktuellesTeil.getVerwendungsposition().Clear();
            for (int i = 0; i < ProfilEinbaulagenDatagridview.Rows.Count; i++)
            {
                 if (ProfilEinbaulagenDatagridview.Rows[i].Selected)
	                {
                        VerwendungPosition vw = new VerwendungPosition(int.Parse(ProfilEinbaulagenDatagridview.Rows[i].Cells[1].Value.ToString()));
                        vw.setVerwendungPosition(ProfilEinbaulagenDatagridview.Rows[i].Cells[0].Value.ToString()); 
                     aktuellesTeil.getVerwendungsposition().Add(vw);
	                }

                 TeilEinbaulagenNeuaufbau();
            }
           }
            else
            {
                MessageBox.Show(sprachfile.Bittezuerstauswaehlen);
            }

        }
        private void TeilEinbaulagenNeuaufbau()
        {
            TeilEinbaulagedataGridView.Rows.Clear();
            for (int i = 0; i < aktuellesTeil.getVerwendungsposition().Count; i++)
            {
                TeilEinbaulagedataGridView.Rows.Add(aktuellesTeil.getVerwendungsposition()[i].getVerwendungPosition(), aktuellesTeil.getVerwendungsposition()[i].getID().ToString());
            }
        }

        

        private void ProfilHerstellerSuchecomboBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            serieliste = new List<Serie>();
            for (int i = 0; i < herstellerliste.Count; i++)
            {
                if (herstellerliste[i].getName() == ProfilHerstellerSuchecomboBox.SelectedItem.ToString())
                {
                    serieliste = dbf.getHerstellerserien(herstellerliste[i]);
                    
                } 
            }
            SeriecomboBox.Items.Clear();
            for (int i = 0; i < serieliste.Count; i++)
            {
                SeriecomboBox.Items.Add(serieliste[i].getSerie());
            }
            this.Refresh();
        }

        private void SeriecomboBox_SelectedIndexChanged(object sender, EventArgs e)
        {
         Profilsuchliste = new List<Profil>();  
           for (int i = 0; i < serieliste.Count; i++)
			{
			 if (serieliste[i].getSerie()== SeriecomboBox.SelectedItem.ToString())
	                {
                       Profilsuchliste= dbf.getProfileBySerieOhneAusgecheckte(serieliste[i]);
		 
	                     
                   }
			}
           ProfilSuchedataGridView.Rows.Clear();
           for (int i = 0; i < Profilsuchliste.Count; i++)
           {
               
               
               ProfilSuchedataGridView.Rows.Add(Profilsuchliste[i].getID(), Profilsuchliste[i].getBezeichnung());
           }
            
        }

        

        private void fill()
        {
            this.Profileinlesen();
            //Teilpage
            this.TeilIDanzeigebox.Text = aktuellesTeil.getID().ToString();
            this.StatuscomboBox.SelectedValue = aktuellesTeil.getStatus().getStatus().ToString();
            this.TeilbezeichungBox.Text = aktuellesTeil.getKundenbezeichnung();
            this.KundenseriencomboBox.SelectedItem = aktuellesTeil.getKundenserie().getSerie().ToString();
            this.ErstelltBenutzer.Text = aktuellesTeil.getErstelltVon().getbenutzername();
            this.Erstelltdatum.Text = aktuellesTeil.getErstelltWann().ToString();

            this.FreigabeBenutzerLabel.Text = aktuellesTeil.getFreigabeVon().getbenutzername();
            this.label14.Text = aktuellesTeil.getFreigabeWann().ToString();
            KommentarTextBox1.Text = aktuellesTeil.getKommentar().ToString();
            
                       
            //Einbaulagen
            int j = 0;
            this.TeilEinbaulagenNeuaufbau();
            for (int i = 0; i < ProfilEinbaulagenDatagridview.Rows.Count; i++)
            {
                if (i <= TeilEinbaulagedataGridView.Rows.Count && aktuellesTeil.getVerwendungsposition().Count>0 && aktuellesProfil.getVerwendungsposition()[i] == aktuellesTeil.getVerwendungsposition()[j])
                {
                    j++;
                    ProfilEinbaulagenDatagridview.Rows[i].Selected = true;
                }
            }
            //Bearbeitungen
            j = 0;
            this.TeilBearbeitungenNeuaufbau();
            for (int i = 0; i < ProfilBearbeitungendataGridView.Rows.Count; i++)
            {
                if (j<=BearbeitungendataGridView.Rows.Count && aktuellesTeil.getBearbeitungen().Count>0&& aktuellesProfil.getBearbeitungen()[i]==aktuellesTeil.getBearbeitungen()[j])
                {
                    j++;
                    ProfilBearbeitungendataGridView.Rows[i].Selected = true;
                }
                
            }

            //Beschichtungen
            j = 0;
            this.TeilBeschichtungnNeuaufbau();  
            for (int i = 0; i < this.ProfilBeschichtungenDataGridView.Rows.Count; i++)
            {
                if (j <= this.BeschichtungendataGridView.Rows.Count && aktuellesTeil.getBeschichtungen().Count>0 && aktuellesProfil.getBeschichtungen()[i] == aktuellesTeil.getBeschichtungen()[j])
                {
                    j++;
                    this.ProfilBeschichtungenDataGridView.Rows[i].Selected = true;
                }

            }
            //Fuellmaterial
            j = 0;
            this.TeilfuellmaterialNeuaufbau();
            for (int i = 0; i < this.profilFuellmaterialdataGridView.Rows.Count; i++)
            {
                if (j <= this.FuellmaterialdataGridView.Rows.Count && aktuellesTeil.getFuellmaterial().Count>0 && aktuellesProfil.getFuellmaterial()[i] == aktuellesTeil.getFuellmaterial()[j])
                {
                    j++;
                    this.profilFuellmaterialdataGridView.Rows[i].Selected = true;
                }

            }

            //Dichtung
            j = 0;
            this.TeilDichtungNeuaufbau();
            for (int i = 0; i < ProfilDichtungendataGridView.Rows.Count; i++)
            {
                if (j <= DichtungendataGridView.Rows.Count && aktuellesTeil.getDichtung().Count>0 && aktuellesProfil.getDichtung()[i] == aktuellesTeil.getDichtung()[j])
                {
                    j++;
                    this.ProfilDichtungendataGridView.Rows[i].Selected = true;
                }
            }

            //Werkstoff
            j = 0;
            this.TeilWerkstoffNeuaufbau();
            for (int i = 0; i < ProfilWerkstoffdataGridView.Rows.Count; i++)
            {
                if (j <= WerkstoffdataGridView.Rows.Count && aktuellesTeil.getWerkstoff().Count>0 && aktuellesProfil.getWerkstoff()[i] == aktuellesTeil.getWerkstoff()[j])
                {
                    j++;
                    this.ProfilWerkstoffdataGridView.Rows[i].Selected = true;
                }
            }
            //Restriktionen
            j = 0;
            this.TeilRestirktionNeuaufbau();
            for (int i = 0; i < ProfilRestirkionendataGridView.Rows.Count; i++)
            {
                if (j <= RestriktiondataGridView.Rows.Count && aktuellesTeil.getRestriktionen().Count>0 && aktuellesProfil.getRestriktion()[i] == aktuellesTeil.getRestriktionen()[j])
                {
                    j++;
                    this.ProfilRestirkionendataGridView.Rows[i].Selected = true;
                    
                }
            }


        }

        private void Bearbeitungenanzeigenbutton_Click(object sender, EventArgs e)
        {
            if (BearbeitungendataGridView.SelectedRows.Count > 0)
            {
                DxfModel model = new DxfModel(this.aktuellesTeil.getZeichnung());
            DrawingHandler dh = new DrawingHandler();
            for (int i = 0; i < this.BearbeitungendataGridView.Rows.Count; i++)
            {
                if (BearbeitungendataGridView.Rows[i].Selected)
                {
                    model = dh.fuisonmodel(model, aktuellesTeil.getBearbeitungen()[i].getLayer(), aktuellesTeil.getBearbeitungen()[i].getBearbeitungsnummer().ToString(), new WW.Math.Point3D(0, 0, 0));
                }
            }
            Zeichnunganzeigen gui = new Zeichnunganzeigen(model);
            gui.Show();
            gui.Visible = true;
                }
            else
            {
                MessageBox.Show(sprachfile.Bittezuerstauswaehlen);
            }
        }

        private void BearbeitungenentfernenButton_Click(object sender, EventArgs e)
        {
            if (BearbeitungendataGridView.SelectedRows.Count > 0)
            {
            for (int i = 0; i < BearbeitungendataGridView.Rows.Count; i++)
            {
                if (BearbeitungendataGridView.Rows[i].Selected)
                {
                    aktuellesTeil.getBearbeitungen().RemoveAt(i);
                }

            }
           TeilBearbeitungenNeuaufbau();

                }
            else
            {
                MessageBox.Show(sprachfile.Bittezuerstauswaehlen);
            }

        }

        private void TeilBearbeitungenNeuaufbau()
        {
            BearbeitungendataGridView.Rows.Clear();
               for (int i = 0; i < aktuellesTeil.getBearbeitungen().Count; i++)
			{
                BearbeitungendataGridView.Rows.Add(aktuellesTeil.getBearbeitungen()[i].getBearbeitungsnummer(), aktuellesTeil.getBearbeitungen()[i].getBearbeitungsname(), aktuellesTeil.getBearbeitungen()[i].getWerkzeug().getWerkzeugBezeichnung(), aktuellesTeil.getBearbeitungen()[i].getBearbeitungswinkel(), aktuellesTeil.getBearbeitungen()[i].getKommentar());
			}
        }

        private void BeschihtungenAnzeigenbutton_Click(object sender, EventArgs e)
        {
            if (BeschichtungendataGridView.SelectedRows.Count > 0)
            {


                }
            else
            {
                MessageBox.Show(sprachfile.Bittezuerstauswaehlen);
            }
        }

        private void BeschichtungenEntfernenbutton_Click(object sender, EventArgs e)
        {
            if (BeschichtungendataGridView.SelectedRows.Count > 0)
            {

            for (int i = 0; i < this.BeschichtungendataGridView.Rows.Count; i++)
            {
                if (BeschichtungendataGridView.Rows[i].Selected)
                {
                    aktuellesTeil.getBeschichtungen().RemoveAt(i);
                }

            }
            TeilBeschichtungnNeuaufbau();

                }
            else
            {
                MessageBox.Show(sprachfile.Bittezuerstauswaehlen);
            }
        }

        private void FüllmaterialAnzeigenbutton_Click(object sender, EventArgs e)
        {
            if (FuellmaterialdataGridView.SelectedRows.Count > 0)
            {

            DxfModel model = new DxfModel(this.aktuellesTeil.getZeichnung());
            DrawingHandler dh = new DrawingHandler();
            for (int i = 0; i < this.FuellmaterialdataGridView.Rows.Count; i++)
            {
                if (FuellmaterialdataGridView.Rows[i].Selected)
                {
                    model = dh.fuisonmodel(model, aktuellesTeil.getFuellmaterial()[i].getLayer(), aktuellesTeil.getFuellmaterial()[i].getFuellmaterial(), new WW.Math.Point3D(0, 0, 0));
                }
            }
            Zeichnunganzeigen gui = new Zeichnunganzeigen(model);
            gui.Show();
            gui.Visible = true;

                }
            else
            {
                MessageBox.Show(sprachfile.Bittezuerstauswaehlen);
            }
        }

        private void FüllmaterialEntfernenbutton_Click(object sender, EventArgs e)
        {
            if (FuellmaterialdataGridView.SelectedRows.Count > 0)
            {

            for (int i = 0; i < this.FuellmaterialdataGridView.Rows.Count; i++)
            {
                if (FuellmaterialdataGridView.Rows[i].Selected)
                {
                    aktuellesTeil.getFuellmaterial().RemoveAt(i);
                }

            }
            TeilfuellmaterialNeuaufbau();

                }
            else
            {
                MessageBox.Show(sprachfile.Bittezuerstauswaehlen);
            }
        }

        private void DichtungenAnzeigenbutton_Click(object sender, EventArgs e)
        {
            if (DichtungendataGridView.SelectedRows.Count > 0)
            {

            DxfModel model = new DxfModel(this.aktuellesTeil.getZeichnung());
            DrawingHandler dh = new DrawingHandler();
            for (int i = 0; i < this.DichtungendataGridView.Rows.Count; i++)
            {
                if (DichtungendataGridView.Rows[i].Selected)
                {
                    model = dh.fuisonmodel(model, aktuellesTeil.getDichtung()[i].getDichtungslayer(), aktuellesTeil.getDichtung()[i].getDichtung(), new WW.Math.Point3D(0, 0, 0));
                }
            }
            Zeichnunganzeigen gui = new Zeichnunganzeigen(model);
            gui.Show();
            gui.Visible = true;

                }
            else
            {
                MessageBox.Show(sprachfile.Bittezuerstauswaehlen);
            }
        }

        private void DichtungenEntfernenbutton_Click(object sender, EventArgs e)
        {
            if (DichtungendataGridView.SelectedRows.Count > 0)
            {

            for (int i = 0; i < this.DichtungendataGridView.Rows.Count; i++)
            {
                if (DichtungendataGridView.Rows[i].Selected)
                {
                    aktuellesTeil.getDichtung().RemoveAt(i);
                }

            }
            TeilDichtungNeuaufbau();

                }
            else
            {
                MessageBox.Show(sprachfile.Bittezuerstauswaehlen);
            }
        }

        private void WerkstoffAnzeigenbutton_Click(object sender, EventArgs e)
        {
            if (WerkstoffdataGridView.SelectedRows.Count > 0)
            {


                }
            else
            {
                MessageBox.Show(sprachfile.Bittezuerstauswaehlen);
            }
        }

        private void Werkstoffentfernenbutton_Click(object sender, EventArgs e)
        {
            if (WerkstoffdataGridView.SelectedRows.Count > 0)
            {

            for (int i = 0; i < this.WerkstoffdataGridView.Rows.Count; i++)
            {
                if (WerkstoffdataGridView.Rows[i].Selected)
                {
                    aktuellesTeil.getWerkstoff().RemoveAt(i);
                }

            }
            TeilWerkstoffNeuaufbau();

                }
            else
            {
                MessageBox.Show(sprachfile.Bittezuerstauswaehlen);
            }
        }

        private void RestriktionenAnzeigenbutton_Click(object sender, EventArgs e)
        {
            if (RestriktiondataGridView.SelectedRows.Count > 0)
            {


                }
            else
            {
                MessageBox.Show(sprachfile.Bittezuerstauswaehlen);
            }
        }

        private void RestriktionenEntfernenbutton_Click(object sender, EventArgs e)
        {
            if (RestriktiondataGridView.SelectedRows.Count > 0)
            {

            for (int i = 0; i < this.RestriktiondataGridView.Rows.Count; i++)
            {
                if (RestriktiondataGridView.Rows[i].Selected)
                {
                    aktuellesTeil.getRestriktionen().RemoveAt(i);
                }

            }
            TeilWerkstoffNeuaufbau();

                }
            else
            {
                MessageBox.Show(sprachfile.Bittezuerstauswaehlen);
            }
        }

        private void ProfilEinbaulageHinzufuegenbutton_Click(object sender, EventArgs e)
        {
            

        }

        private void ProfilBearbeitungenHinzufuegenbutton_Click(object sender, EventArgs e)
        {
            
        }

        private void ProfilBearbeitungenAuswaehlenbutton_Click(object sender, EventArgs e)
        {
            if (ProfilBearbeitungendataGridView.SelectedRows.Count > 0)
            {

            aktuellesTeil.getBearbeitungen().Clear();
            for (int i = 0; i <  ProfilBearbeitungendataGridView.Rows.Count; i++)
            {
                if (ProfilBearbeitungendataGridView.Rows[i].Selected)
                {
                   
                   aktuellesTeil.getBearbeitungen().Add(aktuellesProfil.getBearbeitungen()[i]);
                }

                TeilBearbeitungenNeuaufbau();
            }

                }
            else
            {
                MessageBox.Show(sprachfile.Bittezuerstauswaehlen);
            }
        }

        private void ProfilBearbeitungenAnzeigenbutton_Click(object sender, EventArgs e)
        {
            if (ProfilBearbeitungendataGridView.SelectedRows.Count > 0)
            {
            
            DxfModel model = new DxfModel(aktuellesProfil.getZeichnung());
            DrawingHandler dh = new DrawingHandler();
            for (int i = 0; i < ProfilBearbeitungendataGridView.Rows.Count; i++)
            {
                if (ProfilBearbeitungendataGridView.Rows[i].Selected)
                {
                    model = dh.fuisonmodel(model, aktuellesProfil.getBearbeitungen()[i].getLayer(), aktuellesProfil.getBearbeitungen()[i].getBearbeitungsnummer().ToString(), new WW.Math.Point3D(0,0,0));
                }
            }
            Zeichnunganzeigen gui = new Zeichnunganzeigen(model);
            gui.Show();
            gui.Visible = true;
           

                }
            else
            {
                MessageBox.Show(sprachfile.Bittezuerstauswaehlen);
            }
        }

        private void ProfilBeschichtungenHinzufuegenbutton_Click(object sender, EventArgs e)
        {
            
        }

        private void ProfilBeschichtungenAuswahlenbutton_Click(object sender, EventArgs e)
        {
            if (ProfilBeschichtungenDataGridView.SelectedRows.Count > 0)
            {

            aktuellesTeil.getBeschichtungen().Clear();
            for (int i = 0; i <  ProfilBeschichtungenDataGridView .Rows.Count; i++)
            {
                if (ProfilBeschichtungenDataGridView.Rows[i].Selected)
                {
                    Beschichtungen be = new Beschichtungen(int.Parse(ProfilBeschichtungenDataGridView.Rows[i].Cells[1].Value.ToString()));
                    be.setBeschichtungen(ProfilBeschichtungenDataGridView.Rows[i].Cells[0].Value.ToString());
                    aktuellesTeil.getBeschichtungen().Add(be);
                }

                TeilBeschichtungnNeuaufbau();
            }

                }
            else
            {
                MessageBox.Show(sprachfile.Bittezuerstauswaehlen);
            }
        }

        private void TeilBeschichtungnNeuaufbau()
        {
            BeschichtungendataGridView.Rows.Clear();
            for (int i = 0; i < aktuellesTeil.getBeschichtungen().Count; i++)
            {
                BeschichtungendataGridView.Rows.Add(aktuellesTeil.getBeschichtungen()[i].getBeschichtungen());
            }

        }

        private void ProfilBeschichtungenAnzeigenbutton_Click(object sender, EventArgs e)
        {
            if (ProfilBeschichtungenDataGridView.SelectedRows.Count > 0)
            {


                }
            else
            {
                MessageBox.Show(sprachfile.Bittezuerstauswaehlen);
            }
        }

        private void ProfilFuellmaterialHinzufuegenbutton_Click(object sender, EventArgs e)
        {
           
        }

        private void ProfilFuellmaterialAuswahlenbutton_Click(object sender, EventArgs e)
        {
            if (profilFuellmaterialdataGridView.SelectedRows.Count > 0)
            {

            aktuellesTeil.getFuellmaterial().Clear();
            for (int i = 0; i < profilFuellmaterialdataGridView.Rows.Count; i++)
            {
                if (profilFuellmaterialdataGridView.Rows[i].Selected)
                {
                    Fuellmaterial fe = new Fuellmaterial(int.Parse(profilFuellmaterialdataGridView.Rows[i].Cells[1].Value.ToString()));
                    fe = aktuellesProfil.getFuellmaterial()[i];
                    aktuellesTeil.getFuellmaterial().Add(fe);
                }

                TeilfuellmaterialNeuaufbau();
            }

                }
            else
            {
                MessageBox.Show(sprachfile.Bittezuerstauswaehlen);
            }
        }

        private void TeilfuellmaterialNeuaufbau()
        {
            FuellmaterialdataGridView.Rows.Clear();
               for (int i = 0; i < aktuellesTeil.getFuellmaterial().Count; i++)
			{
			 FuellmaterialdataGridView.Rows.Add(aktuellesTeil.getFuellmaterial()[i].getFuellmaterial());
			}
        }

        private void ProfilFuellmaterialAnzeigenbutton_Click(object sender, EventArgs e)
        {
            if (profilFuellmaterialdataGridView.SelectedRows.Count > 0)
            {

            DxfModel model = new DxfModel(aktuellesProfil.getZeichnung());
            DrawingHandler dh = new DrawingHandler();
            for (int i = 0; i < this.profilFuellmaterialdataGridView.Rows.Count; i++)
            {
                if (profilFuellmaterialdataGridView.Rows[i].Selected)
                {
                    model = dh.fuisonmodel(model, aktuellesProfil.getFuellmaterial()[i].getLayer(), aktuellesProfil.getFuellmaterial()[i].getFuellmaterial(), new WW.Math.Point3D(0, 0, 0));
                }
            }
            Zeichnunganzeigen gui = new Zeichnunganzeigen(model);
            gui.Show();
            gui.Visible = true;

                }
            else
            {
                MessageBox.Show(sprachfile.Bittezuerstauswaehlen);
            }
        }

        private void ProfilDichtungenHinzufuegenbutton_Click(object sender, EventArgs e)
        {
            
        }

        private void ProfilDichtungenAuswaehlenbutton_Click(object sender, EventArgs e)
        {
            if (ProfilDichtungendataGridView.SelectedRows.Count > 0)
            {

            aktuellesTeil.getDichtung().Clear();
            for (int i = 0; i < ProfilDichtungendataGridView.Rows.Count; i++)
            {
                if (ProfilDichtungendataGridView.Rows[i].Selected)
                {
                    Dichtung di = new Dichtung(int.Parse(ProfilDichtungendataGridView.Rows[i].Cells[1].Value.ToString()));
                    di = aktuellesProfil.getDichtung()[i];
                    aktuellesTeil.getDichtung().Add(di);
                }

                
            }
            TeilDichtungNeuaufbau();

                }
            else
            {
                MessageBox.Show(sprachfile.Bittezuerstauswaehlen);
            }
        }

        private void TeilDichtungNeuaufbau()
        {
            DichtungendataGridView.Rows.Clear();
            for (int i = 0; i < aktuellesTeil.getDichtung().Count; i++)
            {
                DichtungendataGridView.Rows.Add(aktuellesTeil.getDichtung()[i].getDichtung());
            }
        }

        private void ProfilDichtungenAnzeigenbutton_Click(object sender, EventArgs e)
        {

            if (ProfilDichtungendataGridView.SelectedRows.Count > 0)
            {
            
            DxfModel model = new DxfModel(aktuellesProfil.getZeichnung());
            DrawingHandler dh = new DrawingHandler();
            for (int i = 0; i < this.ProfilDichtungendataGridView.Rows.Count; i++)
            {
                if (ProfilDichtungendataGridView.Rows[i].Selected)
                {
                    model = dh.fuisonmodel(model, aktuellesProfil.getDichtung()[i].getDichtungslayer(), aktuellesProfil.getDichtung()[i].getDichtung(), new WW.Math.Point3D(0, 0, 0));
                }
            }
            Zeichnunganzeigen gui = new Zeichnunganzeigen(model);
            gui.Show();
            gui.Visible = true;

                }
            else
            {
                MessageBox.Show(sprachfile.Bittezuerstauswaehlen);
            }
        }

        private void ProfilWerkstoffHinzufuegenbutton_Click(object sender, EventArgs e)
        {
            
        }

        private void ProfilWerkstoffAuswaehlenbutton_Click(object sender, EventArgs e)
        {
            if (ProfilWerkstoffdataGridView.SelectedRows.Count > 0)
            {

            aktuellesTeil.getWerkstoff().Clear();
            for (int i = 0; i <ProfilWerkstoffdataGridView.Rows.Count; i++)
            {
                if (ProfilWerkstoffdataGridView.Rows[i].Selected)
                {
                    Werkstoff We = new Werkstoff(int.Parse(ProfilWerkstoffdataGridView.Rows[i].Cells[1].Value.ToString()));
                    We = aktuellesProfil.getWerkstoff()[i];
                    aktuellesTeil.getWerkstoff().Add(We);
                }


            }
            TeilWerkstoffNeuaufbau();

                }
            else
            {
                MessageBox.Show(sprachfile.Bittezuerstauswaehlen);
            }
        }

        private void TeilWerkstoffNeuaufbau()
        {
            WerkstoffdataGridView.Rows.Clear();
            for (int i = 0; i < aktuellesTeil.getWerkstoff().Count; i++)
            {
                WerkstoffdataGridView.Rows.Add(aktuellesTeil.getWerkstoff()[i].getWerkstoff());    
            }
        }

        private void ProfilWerkstoffAnzeigenbutton_Click(object sender, EventArgs e)
        {
            if (ProfilWerkstoffdataGridView.SelectedRows.Count > 0)
            {

                }
            else
            {
                MessageBox.Show(sprachfile.Bittezuerstauswaehlen);
            }

        }

        private void ProfilVeränderungenHinzufuegenbutton_Click(object sender, EventArgs e)
        {
            
        }

        private void ProfilWerkstoffHinzufuegenbuttonAuswaehlenbutton_Click(object sender, EventArgs e)
        {
            
        }

        private void ProfilWerkstoffHinzufuegenbuttonAnzeigenbutton_Click(object sender, EventArgs e)
        {
            
        }

        private void ProfilRestriktionAuswaehlenbutton_Click(object sender, EventArgs e)
        {
            if (ProfilRestirkionendataGridView.SelectedRows.Count > 0)
            {

            aktuellesTeil.getRestriktionen().Clear();
            for (int i = 0; i < ProfilRestirkionendataGridView.Rows.Count; i++)
            {
                if (ProfilRestirkionendataGridView.Rows[i].Selected)
                {
                    Restriktion re = new Restriktion(int.Parse(ProfilRestirkionendataGridView.Rows[i].Cells[0].Value.ToString()));
                    if (aktuellesProfil.getRestriktion().Count>i)
                    {
                        re = aktuellesProfil.getRestriktion()[i];
                        aktuellesTeil.getRestriktionen().Add(re);
                    }
                    
                }


            }
            TeilRestirktionNeuaufbau();

                }
            else
            {
                MessageBox.Show(sprachfile.Bittezuerstauswaehlen);
            }
        }

        private void TeilRestirktionNeuaufbau()
        {
            RestriktiondataGridView.Rows.Clear();
                for (int i = 0; i < aktuellesTeil.getRestriktionen().Count; i++)
			{
			 RestriktiondataGridView.Rows.Add(aktuellesTeil.getRestriktionen()[i].getArtikelnummer().ToString(), aktuellesTeil.getRestriktionen()[i].getRestriktion());
			}
        }

        private void ProfilRestriktionAnzeigenbutton_Click(object sender, EventArgs e)
        {
            if (ProfilRestirkionendataGridView.SelectedRows.Count > 0)
            {


                }
            else
            {
                MessageBox.Show(sprachfile.Bittezuerstauswaehlen);
            }
        }

        private void ProfilRestriktionHinzufuegenbutton_Click(object sender, EventArgs e)
        {

            int i = aktuellesProfil.getRestriktion().Count;
            
            RestriktionHinzufugenGui gui = new RestriktionHinzufugenGui(aktuellesProfil);
            gui.ShowDialog();

            if (i < aktuellesProfil.getRestriktion().Count)
            {
                ProfilRestirkionendataGridView.Rows.Add(aktuellesProfil.getRestriktion().Last().getArtikelnummer().ToString(), aktuellesProfil.getRestriktion().Last().getRestriktion(), aktuellesProfil.getRestriktion().Last().getID().ToString());
                ProfilRestirkionendataGridView.Rows[ProfilRestirkionendataGridView.Rows.Count - 1].Selected = true;

                ProfilRestriktionAuswaehlenbutton_Click(sender, e);
            }
            
        }

        private void Profilauswahlbutton_Click(object sender, EventArgs e)
        {
            if (ProfilSuchedataGridView.SelectedRows.Count > 0)
            {

            aktuellesTeil.ProfilID=int.Parse(this.ProfilSuchedataGridView.SelectedRows[0].Cells[0].Value.ToString());
            Profileinlesen();

            }
            else
            {
                MessageBox.Show(sprachfile.Bittezuerstauswaehlen);
            }
        }

        private void Profileinlesen()
        {
            aktuellesProfil = new Profil(-1);
            aktuellesProfil = dbf.ProfilAusgeben(aktuellesTeil.ProfilID);

            ProfilBezeichnungsanzeigeLabel.Text = aktuellesProfil.getBezeichnung();
            ProfilHoeheAnzeigeLabel.Text = aktuellesProfil.getHoeheAbs().ToString();
            ProfilBreiteAnzeigeLabel.Text = aktuellesProfil.getTiefeAbs().ToString();
            ProfilKommentarTextbox.Text = aktuellesProfil.getKommentar();
            ProfilStatusAnzeigeLabel.Text = aktuellesProfil.getStatus().getStatus().ToString();

            //Hersteller
            List<Serie> serienliste = new List<StuertzDatenbank.Serie>(aktuellesProfil.getSerie());
            for (int i = 0; i < aktuellesProfil.getAlleHersteller().Count; i++)
            {

                this.HerstellerdataGridView.Rows.Add(aktuellesProfil.getHerstellerausliste(i).getName(), null);
                HerstellerdataGridView.UpdateCellValue(0, i);

                //Herstellerserie
                List<Serie> Herstellerserieliste = new List<Serie>(dbf.getHerstellerserien(aktuellesProfil.getHerstellerausliste(i)));
                for (int k = 0; k < Herstellerserieliste.Count; k++)
                {
                    for (int j = 0; j < serienliste.Count; j++)
                    {
                        if (Herstellerserieliste[k].getID() == serienliste[j].getID())
                        {
                            this.HerstellerdataGridView.Rows[i].Cells[1].Value = serienliste[j].getSerie().ToString();
                            serienliste.RemoveAt(j);
                        }
                    }
                }
            }
            for (int i = 0; i < serienliste.Count; i++)
            {
                this.HerstellerdataGridView.Rows.Add(null, serienliste[i].getSerie());
            }


            //Einbaulagen
            ProfilEinbaulagenDatagridview.Rows.Clear();
            for (int i = 0; i < aktuellesProfil.getVerwendungsposition().Count; i++)
            {
                ProfilEinbaulagenDatagridview.Rows.Add(aktuellesProfil.getVerwendungsposition()[i].getVerwendungPosition(), aktuellesProfil.getVerwendungsposition()[i].getID().ToString());
                
            }
            //Bearbeitungen
            ProfilBearbeitungendataGridView.Rows.Clear();
            for (int i = 0; i < aktuellesProfil.getBearbeitungen().Count; i++)
            {ProfilBearbeitungendataGridView.Rows.Add(aktuellesProfil.getBearbeitungen()[i].getBearbeitungsnummer().ToString(), aktuellesProfil.getBearbeitungen()[i].getWerkzeug().getWerkzeugBezeichnung(), aktuellesProfil.getBearbeitungen()[i].getBearbeitungswinkel(), aktuellesProfil.getBearbeitungen()[i].getBearbeitungsname());
                
            }
            //Beschichtungen
            ProfilBeschichtungenDataGridView.Rows.Clear();
            for (int i = 0; i < aktuellesProfil.getBeschichtungen().Count; i++)
            {
                ProfilBeschichtungenDataGridView.Rows.Add(aktuellesProfil.getBeschichtungen()[i].getBeschichtungen().ToString(), aktuellesProfil.getBeschichtungen()[i].getID().ToString() );
            }

            //Fuelmaterial
            profilFuellmaterialdataGridView.Rows.Clear();
            for (int i = 0; i < aktuellesProfil.getFuellmaterial().Count; i++)
            {
                profilFuellmaterialdataGridView.Rows.Add(aktuellesProfil.getFuellmaterial()[i].getFuellmaterial(), aktuellesProfil.getFuellmaterial()[i].getID().ToString());
            }
            //Dichtung
            ProfilDichtungendataGridView.Rows.Clear();
            for (int i = 0; i < aktuellesProfil.getDichtung().Count; i++)
            {
                ProfilDichtungendataGridView.Rows.Add(aktuellesProfil.getDichtung()[i].getDichtung(), aktuellesProfil.getDichtung()[i].getID().ToString());
            }
            //Werkstoff
            ProfilWerkstoffdataGridView.Rows.Clear();
            for (int i = 0; i < aktuellesProfil.getWerkstoff().Count; i++)
            {
                ProfilWerkstoffdataGridView.Rows.Add(aktuellesProfil.getWerkstoff()[i].getWerkstoff(), aktuellesProfil.getWerkstoff()[i].getID().ToString());
            }
            

            //Restriktion
            ProfilRestirkionendataGridView.Rows.Clear();
            for (int i = 0; i < aktuellesProfil.getRestriktion().Count; i++)
            {
                ProfilRestirkionendataGridView.Rows.Add(aktuellesProfil.getRestriktion()[i].getArtikelnummer().ToString(), aktuellesProfil.getRestriktion()[i].getRestriktion());
            }

            //TeilTabfüllen
            TeilProfilbezeichungslabel.Text = aktuellesProfil.getBezeichnung();
            if (TeilbezeichungBox.Text==null|TeilbezeichungBox.Text=="")
            {
                TeilbezeichungBox.Text = aktuellesProfil.getBezeichnung();
                TeilbezeichungBox.Text.Clone();
            }

           

        }

        private void Freigebenbutton_Click(object sender, EventArgs e)
        {
            if (aktuellesTeil.getErstelltVon().getbenutzername()==null|aktuellesTeil.getErstelltVon().getbenutzername()=="")
            {
                MessageBox.Show(sprachfile.FehlerBitteErstSpeichern);
            }else  if (this.benutzer.getbenutzername()!=aktuellesTeil.getErstelltVon().getbenutzername()| this.benutzer.getRolle().getRechte().Datenbearbeiten)
            {
                FreigabeBenutzerLabel.Text = this.benutzer.getbenutzername();
                FreigabeDatumlabel.Text = System.DateTime.Now.ToString();
            }
        }

        private void TeilHinzufuegenbuttonbutton_Click(object sender, EventArgs e)
        {
            aktuellesTeil.setKundenbezeichnung(this.TeilbezeichungBox.Text);
            aktuellesTeil.setKommentar(KommentarTextBox1.Text);
            aktuellesTeil.setKunde(auftrag.getKunde());
            aktuellesTeil.setErstelltVon(benutzer);
            aktuellesTeil.setErstelltWann(DateTime.Now);

            //Status
            for (int i = 0; i < Statusliste.Count; i++)
            {
                if (StatuscomboBox.SelectedItem.ToString() == Statusliste[i].getStatus().ToString())
	                {
                        aktuellesTeil.setStatus(Statusliste[i]);
	                }  
            }
            if (aktuellesTeil.getKundenserie() ==null|| aktuellesTeil.getKundenserie().getID() == -1)
            {
                MessageBox.Show(sprachfile.BitteSerieAuswählen);
                return;
            }


            aktuellesTeil.setID(dbf.TeilEintragen(aktuellesTeil));
            dbf.addAuftragTeil(aktuellesTeil, auftrag);
            auftrag.addTeil(aktuellesTeil);
            this.Visible = false;
            this.Dispose();
        }

        private void NeueSeriebutton_Click(object sender, EventArgs e)
        {
            Serie s = new Serie(-1);
            s.setSerie(NeueSerietextBox.Text);
            if (auftrag.getKunde().getKundennummer()<0)
            {
                MessageBox.Show(sprachfile.BitteKundezuerstauswaehlen);
            }
            else
            {
                s = dbf.createKundenserie(s, auftrag.getKunde());
                aktuellesTeil.setKundenserie(s);
                Kundenserienliste.Add(s);
                KundenseriencomboBox.Items.Add(s.getSerie());
                KundenseriencomboBox.SelectedItem = s.getSerie();
            }
           
            
        }

        private void KundenseriencomboBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            for (int i = 0; i < Kundenserienliste.Count; i++)
            {
                if (KundenseriencomboBox.SelectedItem.ToString() == Kundenserienliste[i].getSerie())
                {
                    aktuellesTeil.setKundenserie(Kundenserienliste[i]);
                }
            }
        }

        private void ProfilSuchedataGridView_DoubleClick(object sender, System.EventArgs e)
        {
            if (ProfilSuchedataGridView.SelectedRows.Count>0)
            {
                Profilauswahlbutton_Click(sender, e);
            }
           
        }

        private void Zeichnungbutton1_Click(object sender, EventArgs e)
        {
            DrawingHandler dH = new DrawingHandler();
            try
            {
                aktuellesTeil.setZeichnung(aktuellesProfil.getZeichnung());
                WW.Cad.Model.DxfModel model = new WW.Cad.Model.DxfModel(this.aktuellesTeil.getZeichnung());
                WW.Math.Point3D p = new WW.Math.Point3D(0, 0, 0);

                model = dH.fuisonmodel(model, aktuellesTeil.getZeichnung(), aktuellesTeil.getKundenbezeichnung(), p);


                for (int i = 0; i < aktuellesTeil.getBearbeitungen().Count; i++)
                {
                    model = dH.fuisonmodel(model, aktuellesTeil.getBearbeitungen()[i].getLayer(), aktuellesTeil.getBearbeitungen()[i].getBearbeitungsname(), p);
                }

                for (int i = 0; i < aktuellesTeil.getFuellmaterial().Count; i++)
                {
                    model = dH.fuisonmodel(model, aktuellesTeil.getFuellmaterial()[i].getLayer(), aktuellesTeil.getFuellmaterial()[i].getFuellmaterial(), p);
                }
                for (int i = 0; i < aktuellesTeil.getDichtung().Count; i++)
                {
                    model = dH.fuisonmodel(model, aktuellesTeil.getDichtung()[i].getDichtungslayer(), aktuellesTeil.getDichtung()[i].getDichtung(), p);
                }



                Zeichnunganzeigen zeichnunganzeigen = new Zeichnunganzeigen(model);

                zeichnunganzeigen.Visible = true;
            }
            catch (Exception)
            {
                MessageBox.Show(sprachfile.FehlerBitteErstSpeichern);
               
            } 
           
        }

            }
}
